iT邦幫忙

0

基於價格型態之量化交易

  • 分享至 

  • xImage
  •  

在股票市場技術分析中涵蓋了技術指標(如:移動平均線、KD指標、MACD指標...等)與技術型態(價格型態、圖表形態,如:頭肩底、雙重底...等),而現有之量化交易只採用技術指標做為價量因子來進行交易。之所以價格型態並不被量化交易系統所採用的主要原因還是在於其主觀特性,以價格型態的交易者或分析師多半在看盤軟體上繪製趨勢線或矩形區塊來描述型態:
趨勢線
矩形區塊
但圖形並無法直接數值化,導致無法產生量化的買進訊號與賣出訊號。
因此本文提出一個雛形用以展示如何將主觀性質客觀化,將價格型態轉換為可交易的形式:

  1. 以人工方式將手繪價格型態進行量化,參考以下案例:

    • 原始的手繪圖表(來源:股票投資筆記):
      底部型態
    • 人工方式轉換後之底部型態描述:
      {
        "stock_id" : "9921",
        "pattern_range" : ["2026-01-08"],
        "neckline_turning_points":[
             {"date":"2026-06-30","price_type":"Close"}
        ],
        "bottom_point" : {"date":"2026-04-28","price_type":"Close"} 
      }
      
  2. 交易程序讀取底部型態描述,並轉換為 (預定)進場價格停損價格目標價位

  3. 交易程序會使用以下兩種API來進行「盯盤」與「交易」:

    • FinMind用以讀取即時與歷史之價量資料。
    • Shioaji用於模擬交易與取得帳戶資訊。

    其實只採用Shioaji API就可以達成「盯盤」與「交易」機制。之所以額外使用FinMind API是為了要避免Shioaji API的使用限制

  4. 量化交易程序的流程如下:

    • 初始化:取得庫存與觀察股資料庫。
    • 新增或更新觀察股:從底部型態描述中獲取個股資訊(包含:股票代碼、預定進場價格、停損價格與目標價位)。
    • 取得歷史資料:觀察股與庫存中個股之歷史資料。
    • 主迴圈 — 盯盤與交易:
      • 開盤收盤時間確認
      • 取得即時資料
      • 合併歷史資料與即時資料
      • 觀察股處理
      • 確認庫存
      • 進行模擬交易
      • 盯盤週期管控
  5. 完整的程式碼請參閱Jupyter Notebook:260705筆記.ipynb

目前的程式仍屬於雛形階段因此僅用於概念驗證,並不適用於真實交易情境。並且在價格型態量化過程中仍然需要人工介入,後續則考慮使用AI多模態模型來取代人工相關過程。

參考書籍:

  1. 問 ChatGPT 也不會的 Python 量化交易聖經 - 從分析到真實交易一本全會
  2. 金融市場技術分析 (暢銷經典版) (上) 、 金融市場技術分析 (暢銷經典版) (下)
  3. 股價趨勢技術分析 (原文第11版) 上(二版) 、 股價趨勢技術分析 (原文第11版) 下(二版)
  4. 波段交易獲利攻略:從入門到實戰,一次掌握分析指標、進出時點與風險控管的操作策略
  5. 讓證據說話的技術分析(上)

參考資訊:

  1. iThome鐵人賽2023 : 「用Python程式進行股票技術分析」
  2. AI時代的股票技術分析

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言